1. Technical Field
This invention relates to an image processing method for projecting a virtual ray onto volume data to create an image.
2. Background Art
Hitherto, a three-dimensional image data provided as a volume data by a computed tomography (CT) apparatus, a magnetic resonance imaging (MRI) apparatus, and etc. Volume data has been projected in any desired direction to provide a projection image. Volume rendering is widely used as processing for providing such a projection image. As the volume rendering, for example, Maximum Intensity Projection (MIP) processing for extracting the maximum voxel value on a virtual ray relative to the projection direction to perform projection, Minimum Intensity Projection (MinIP) processing for extracting the minimum voxel value and to perform projection, a ray casting method of projecting a virtual ray in the projection direction and calculating reflected light from the object, and the like are known.
There are projection methods of setting an eye and a projection plane and projecting volume data onto the projection plane as seen from the eye. Parallel projection method and perspective projection method are known as the projection method.
The parallel projection method is a method of forming an eye as a plane (for simulating eye point in infinite distance) and projecting volume data onto a projection plane in parallel from the eye; the method is suited for creating an image of an object such as an organ from volume data as viewed from the outside of the object. On the other hand, the perspective projection method is a method of setting an eye as a point and projecting volume data existing between the eye and a projection plane onto the projection plane radially from the eye as the center position, whereby a virtual endoscope image of an organ is created, for example. In addition, a cylindrical projection method in which eyes are set along a line is used to create medical images.
FIG. 13 are schematic views to explain the ray casting method. In the ray casting method, a virtual ray 62 is projected onto volume data 61 and reflected light and remaining light amount of each voxel (0, 1, . . . , n) on the virtual ray 62 are acquired, as shown in FIG. 13A. That is, the volume data 61 is sampled at a given interval on the virtual ray 62, the amount of light reflected at each sampling point is calculated, the reflected light amount is added, and the remaining light amount is subtracted, whereby the pixel value of a point on a projection plane 63 is acquired.
FIG. 13B shows how to obtain reflected light amount at the ith voxel and the (i+1)st voxel. Assuming the remaining light amount (incidence light) on the ith voxel is “Ii,” the opacity of the ith voxel is “αi,” and a reflection coefficient of the ith voxel is “βi,” remaining light amount “Ii+1” of the (i+1)st voxel and projection value “R” are as follows:Ii+1=(1−αi)Ii  (1)R=ΣαiβiIi  (2)
FIG. 14 is a flowchart of the ray casting method in a related art. In the ray casting method in the related art, first, projection plane Image [p, q] is set (step S51) and volume data Vol [x, y, z] is acquired (step S52).
Next, a double loop is formed according to projection plane parameter p, q and scanning is executed over the projection plane (step S53). Projection start point O (x, y, z) of an eye corresponding to the parameter p, q and step vector ΔS (x, y, z) are set and current position X (x, y, z) is set to O (x, y, z), remaining light amount I is set to 1, and reflected light F is set to 0 (step S54).
Next, partial reflected light and transmitted light are calculated from volume data Vol (X), and the remaining light amount I and the reflected light F are calculated (step S55). It is determined whether or not remaining light amount I>0 and current position X (x, y, z)≠ray end position (step S56).
If remaining light amount I>0 and current position X (x, y, z)≠ray end position (yes), the current position X is set to X+ΔS (step S57) and the process returns to step S55. On the other hand, if it is determined that remaining light amount I≦0 or current position X (x, y, z)=ray end position (no), the reflected light F is adopted as the pixel value of the projection plane Image [p, q] (step S58) and the process returns to step S53.
FIGS. 15A and 15B are schematic views to explain a problem of the ray casting method in related art. In the ray casting method in the related art, as shown in FIG. 15A, a virtual ray 68 is projected onto volume data 65 and reflected light is acquired from all voxels on the virtual ray 68. However, not only opaque voxels corresponding to the region of an object 67, but also a large number of transparent voxels (null voxels) not contributing to the final projection value exist on the virtual ray 68, such as those belonging to a region of air 66 and a region of tissue which is not the target of observation.
FIG. 15B shows a virtual ray passing through a transparent voxel. For example, if the ith voxel is transparent, opacity αi of the ith voxel is 0 and therefore the remaining light amount “Ii+1” of the (i+1)st voxel is as follows:Ii+1=(1−αi)Ii=Ii  (3)
“Ii+1” of the (i+1) st voxel is equal to the remaining light amount “Ii” of the ith voxel. Thus, whether or not the voxel is sampled, the projection value is not affected. Consequently, techniques of skipping sampling computation of null voxels have been proposed to speed up the ray casting method.
FIGS. 16A and 16B are a schematic view to explain a speeding-up technique of the ray casting method in the related art (refer to non-patent document 1). In the speeding-up technique in the related art, preprocessing is performed for previously marking null voxels and when projection is executed, calculation of null voxel region is omitted. Accordingly, speeding-up is made possible without degrading the rendering accuracy.
In this case, a mask of setting a null voxel region 72 to “0” and setting a non-null voxel region 73 to “1” is created for volume data 71, as shown in FIG. 16A. When projection processing onto volume data 74 is performed, the mask is referenced and only a non-null voxel region 76 is sampled and sampling of null voxels is skipped (the dotted line portion of a virtual ray 75 is not sampled), as shown in FIG. 16B.
As related techniques, a technique of skipping calculation of a voxel with opacity 1 and later voxels on a virtual ray (for example, refer to patent document 1), and a technique of skipping calculation in a subvoxel (for example, refer to non-patent document 1) are known.
[Patent document 1] U.S. Pat. No. 6,654,012 (Early ray termination in a parallel pipelined volume rendering system)
[Non-patent document 1] Light Weight Space Leaping using Ray Coherence Sarang Lakare and Arie Kaufman IEEE Visualization 2004, pp. 19-26, October 2004, Austin, Tex., USA. http://sled.sourceforge.net/pub/papers/LWSpaceLeapingvis2004.pdf
FIGS. 17A and 17B are schematic view to explain a problem of the speeding-up technique in the ray casting method in the related art. In the speeding-up technique in the ray casting method in the related art as described above, sampling computation of null voxels is skipped for speeding up and thus preprocessing needs to be performed for previously creating a mask of recording null voxels.
However, when a LUT (lookup table) function for acquiring transparency from the voxel value is changed, preprocessing must be again performed from the beginning. That is, when a voxel region 82 is created in volume data 81 based on a LUT function (function of voxel value and transparency) shown in FIG. 17A and the LUT function is changed as shown in FIG. 17B, a voxel region 83 in the volume data 81 changes.
Although the technique of skipping calculation of a voxel with opacity 1 and later voxels on a virtual ray (for example, refer to patent document 1) is effective, only calculation of a voxel with opacity 1 and the later voxels is skipped and therefore the effect produced by the technique is insufficient. In the technique of skipping calculation in a subvoxel (for example, refer to non-patent document 1), the number of virtual rays that can skip is very limited and thus the effect is insufficient.
It is therefore an object of the invention to provide an image processing method for projecting a virtual ray onto volume data to create an image and making it possible to realize speeding up without performing preprocessing.